#ifndef _COMMON_H_
#define _COMMON_H_

#ifdef WIN32
#define uint64_t unsigned __int64
#else
#include <stdint.h>
#endif

#include <assert.h>

#define LOG(x) log.add(x)

enum OperatorProperties
{
	PROPERTY_EMPTY						=	0x00,
	PROPERTY_COMMUTATIVITY				=	0x01,
	PROPERTY_IDEMPOTENCY				=	0x02,
	PROPERTY_MULTISTAGING				=	0x04,
	PROPERTY_NOT_MOVABLE				=	0x08,
	PROPERTY_DISTRIBUTIVITY				=	0x10,
	MAX_PROPERTIES
};

enum OperatorPriorities
{
	PRIORITY_COMMUTATIVITY				=	0x10,
	PRIORITY_DISTRIBUTIVITY				=	0x20
};

#endif
